package cn.edu.scau.cmi.ema.dao;

import cn.edu.scau.cmi.ema.base.CmiPagination;
import cn.edu.scau.cmi.ema.domain.Rulecolumn;
import org.springframework.dao.DataAccessException;

import java.util.Set;

public interface RulecolumnDAO extends JpaDao<Rulecolumn> {

	public Rulecolumn findRulecolumnById(Integer id) throws DataAccessException;

	public Rulecolumn findRulecolumnById(Integer id, int startResult, int maxRows) throws DataAccessException;

	public Set<Rulecolumn> findRulecolumnByName(String name) throws DataAccessException;

	public Set<Rulecolumn> findRulecolumnByName(String name, int startResult, int maxRows) throws DataAccessException;

	public Set<Rulecolumn> findRulecolumnByNameContaining(String name_1) throws DataAccessException;

	public Set<Rulecolumn> findRulecolumnByNameContaining(String name_1, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Rulecolumn> findRulecolumnByExcelcolumn(Integer excelcolumn) throws DataAccessException;

	public Set<Rulecolumn> findRulecolumnByExcelcolumn(Integer excelcolumn, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Rulecolumn> findRulecolumnByExcelcolumnalphabet(String excelcolumnalphabet) throws DataAccessException;

	public Set<Rulecolumn> findRulecolumnByExcelcolumnalphabet(String excelcolumnalphabet, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Rulecolumn> findRulecolumnByExcelcolumnalphabetContaining(String excelcolumnalphabet_1)
			throws DataAccessException;

	public Set<Rulecolumn> findRulecolumnByExcelcolumnalphabetContaining(String excelcolumnalphabet_1, int startResult,
			int maxRows) throws DataAccessException;

	public Set<Rulecolumn> findRulecolumnByPartion(Integer partion) throws DataAccessException;

	public Set<Rulecolumn> findRulecolumnByPartion(Integer partion, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Rulecolumn> findRulecolumnByDescription(String description) throws DataAccessException;

	public Set<Rulecolumn> findRulecolumnByDescription(String description, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Rulecolumn> findRulecolumnByDescriptionContaining(String description_1) throws DataAccessException;

	public Set<Rulecolumn> findRulecolumnByDescriptionContaining(String description_1, int startResult, int maxRows)
			throws DataAccessException;

	public Rulecolumn findRulecolumnByPrimaryKey(Integer id) throws DataAccessException;

	public Rulecolumn findRulecolumnByPrimaryKey(Integer id, int startResult, int maxRows) throws DataAccessException;

	public Set<Rulecolumn> findRulecolumnsByIds(Set<Integer> ids) throws DataAccessException;

	public Set<Rulecolumn> findAllRulecolumns() throws DataAccessException;

	public Set<Rulecolumn> findAllRulecolumns(int startResult, int maxRows) throws DataAccessException;

	public Set<Rulecolumn> findRulecolumnsByRulefield(Integer rulefieldId, int start, int max);

	public Set<Rulecolumn> findRulecolumnByCompositeProperities(String sql, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Rulecolumn> findRulecolumnsByDetachedCriteria(CmiPagination page) throws DataAccessException;

	public Rulecolumn findRulecolumnByPhysicalPrimaryKey(Integer rulefieldId, Integer excelcolumn, Integer partion)
			throws DataAccessException;

	public Rulecolumn findRulecolumnByPhysicalPrimaryKey(Integer rulefieldId, Integer excelcolumn, Integer partion,
			int startResult, int maxRows) throws DataAccessException;
}
